package tests

import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner
import org.scalatest.Suite
import planes.PrepagoLocal
import comunicaciones.LlamadaLocal
import java.util.Date

@RunWith(classOf[JUnitRunner])
class TestPrepagoLocal extends Suite{


 
def testObtenerprecioDeLlamadaLocalConPlanPrepagolocalDelMesDeFebrero(){
  
  //-----------------------------------SetUp----------------------------------------------------------------------------
  var plan = new PrepagoLocal(2)
  
  var call  = new LlamadaLocal(0,1800)// Llamadas de Febrero
  call.fecha = new Date(2013,2,1)
  var call2 = new LlamadaLocal(0,1800)
  call2.fecha = new Date(2013,2,1)
  var call3 = new LlamadaLocal(0,60)
  call3.fecha = new Date(2013,2,1)
  var call4 = new LlamadaLocal(0,60)
  call4.fecha = new Date(2013,2,1)
   
  var call5 = new LlamadaLocal(0,2600)// Llamadas de Marzo
  call5.fecha = new Date(2013,3,1)
  var call6 = new LlamadaLocal(0,1000)
  call6.fecha = new Date(2013,3,1)
  var call7 = new LlamadaLocal(0,60)
  call7.fecha = new Date(2013,3,1)
  
  //----------------------Aplicar Plan en mes de febrero--------------------------------------------------------------------
  
  var newCall = call.paraPrepagoLocal(plan)
  var total = newCall.calcularPrecio
  println("Total de llamada: "+total)
  println()
  assert(total.round == 0)
  
  var newCall2 = call2.paraPrepagoLocal(plan)
  var total2 = newCall2.calcularPrecio
  println("Total de llamada 2: "+total2)
  println()
  assert(total2.round == 0)
  
  var newCall3 = call3.paraPrepagoLocal(plan)
  var total3 = newCall3.calcularPrecio
  println("Total de llamada 3: "+total3)
  println()
  assert(total3.round == 1)
  
  var newCall4 = call4.paraPrepagoLocal(plan)
  var total4 = newCall4.calcularPrecio
  println("Total de llamada 4: "+total4)
  println()
  assert(total4.round == 1)
  
  //----------------------Aplicar Plan en mes de marzo--------------------------------------------------------------------
 
  
  
  var newCall5 = call5.paraPrepagoLocal(plan)
  var total5 = newCall5.calcularPrecio
  println("Total de llamada 5: "+total5)
  println()
  assert(total5.round == 0)

  var newCall6 = call6.paraPrepagoLocal(plan)
  var total6 = newCall6.calcularPrecio
  println("Total de llamada 6: "+total6)
  println()
  assert(total6.round == 0)
  
  var newCall7 = call7.paraPrepagoLocal(plan)
  var total7 = newCall7.calcularPrecio
  println("Total de llamada 7: "+total7)
  println()
  assert(total7.round == 1)
  
  
}
  
}